
import getDataDB from '@/api/agreeContractManagement.js'

/**
 *
 * @param {*} pageSelf
 * @param {*} formIndex 第几个表单的编号 从0开始
 * @param {*} fun
 */
const btnEventBaseEvent = (pageSelf,formIndex,fun)=>{
  const tempArr = Object.keys(pageSelf.$refs)
  let refsKey = tempArr[tempArr.length-1]
  // if(pageSelf.$refs['PPageForm'+formIndex][0]){
  //   refsKey = 'PPageForm'+formIndex
  // }
  console.log('校验表单=====》',refsKey,tempArr,pageSelf.$refs[refsKey][0]);
  pageSelf.$refs[refsKey][0].onSubmit((formRes)=>{
    // formRes 表示表单数据
    // btnItem 当前
    console.log('校验结果==》',formRes, pageSelf.flowCode_);
    fun && fun(formRes)
  })
}

/**
 * 页面按钮事件，以flowcode为主键进行业务处理
 */
const btnEventList = {
  // 合同中止
  '500001':(pageSelf,btnItem)=>{
    btnEventBaseEvent(pageSelf,0,(formRes)=>{
      const btnAction = {
        // 提交审核 合同中止发起提交
        'XQ001':()=>{
          const param = {
            agreeId:pageSelf.bizId_,
            reason:formRes.reason,
            riskFile:[{
              "fileName": formRes.riskProveFile.card1.name,
              "fileUrl":  formRes.riskProveFile.card1.url,
              "valEdate": "",
              "valSdate": ""
            }]
            // fileName:formRes.riskProveFile.card1.name,
            // riskProveFile:formRes.riskProveFile.card1.url
          }
          console.log('合同中止发起====>',pageSelf,formRes,btnItem,param);
          getDataDB('合同中止发起',param).then(res=>{
            console.log('合同中止发起====>',res);
            if(res.success==true && res.result == true){
              pageSelf.$message.success('合同中止申请发起成功！');
              pageSelf.$router.back()
            }else{
              pageSelf.$message.warning(res.message);
            }
          })
        }
      }
      console.log('提交审核 合同中止发起提交====>',btnItem,formRes);
      btnAction[btnItem.key] && btnAction[btnItem.key]()
    })

  },
  // 补充协议（标准合同）
  '500006':(pageSelf,btnItem)=>{},
  // 补充协议（非标准合同）
  '500016':(pageSelf,btnItem)=>{},

  // 用户申诉
  '500002':(pageSelf,btnItem)=>{
    btnEventBaseEvent(pageSelf,1,(formRes)=>{
      const btnAction = {
        // 提交审核 合同中止发起提交
        'XQ001':()=>{
          const param = {
            agreeId:pageSelf.bizId_,
            reason:formRes.reason1,
            riskFile:[{
              "fileName": formRes.riskFile1.card1.name,
              "fileUrl":  formRes.riskFile1.card1.url,
              "valEdate": "",
              "valSdate": ""
            }]
            // fileName:formRes.riskProveFile.card1.name,
            // riskProveFile:formRes.riskProveFile.card1.url
          }
          console.log('合同中止发起申诉====>',pageSelf,formRes,btnItem,param);
          getDataDB('合同中止发起申诉',param).then(res=>{
            console.log('合同中止发起申诉====>',res);
            if(res.success==true && res.result == true){
              pageSelf.$message.success('合同中止申诉申请发起成功！');
              pageSelf.$router.back()
            }else{
              pageSelf.$message.warning(res.message);
            }
          })
        }
      }
      console.log('提交审核 合同中止发起申诉====>',btnItem,formRes);

      btnAction[btnItem.key] && btnAction[btnItem.key]()
    })
  },
  // 合同中止解除发起
  '500003':(pageSelf,btnItem)=>{
    btnEventBaseEvent(pageSelf,2,(formRes)=>{
      const btnAction = {
        // 提交审核 合同中止发起提交
        'XQ001':()=>{
          console.log('提交审核 合同中止解除发起********** 0 ************');
          console.log('提交审核 合同中止解除发起********** 1 ************',formRes);
          const param = {
            agreeId:pageSelf.bizId_,
            reason:formRes.reason2,
            // riskFile:[
            //   {
            //     "fileName": formRes.legalNotice2.card1.name,
            //     "fileUrl":  formRes.legalNotice2.card1.url,
            //     "valEdate": "",
            //     "valSdate": ""
            //   }
            // ]
            // fileName:formRes.riskProveFile.card1.name,
            // riskProveFile:formRes.riskProveFile.card1.url
          }
          console.log('提交审核 合同中止解除发起********** 1 ************',param);
          console.log('合同中止解除发起====>',pageSelf,formRes,btnItem,param);
          getDataDB('合同中止解除发起',param).then(res=>{
            console.log('合同中止解除发起====>',res);
            if(res.success==true && res.result == true){
              pageSelf.$message.success('合同中止解除申请发起成功！');
              pageSelf.$router.back()
            }else{
              pageSelf.$message.warning(res.message);
            }
          })
        }
      }
      console.log('提交审核 合同中止解除发起====>',btnItem,formRes,btnAction[btnItem.key]);

      btnAction[btnItem.key] && btnAction[btnItem.key]()
    })
  },

  // 合同终止
  '500005':(pageSelf,btnItem)=>{

    btnEventBaseEvent(pageSelf,0,(formRes)=>{
        const btnAction = {
        // 提交审核 合同中止发起提交
        'XQ001':()=>{
          const param = {
            agreeId:pageSelf.bizId_,
            reason:formRes.reason,
            riskProveFile:[
              {
                "fileName": formRes.riskProveFile.card1.name,
                "fileUrl":  formRes.riskProveFile.card1.url,
                "valEdate": "",
                "valSdate": ""
              }
            ],
            type:'1' // 操作类型  操作 1：新建；2：风控文件修改；3：通知函修改
          }
          console.log('合同中止发起====>',pageSelf,formRes,btnItem,param);
          getDataDB('合同终止发起及修改',param).then(res=>{
            console.log('合同中止发起====>',res);
            if(res.success==true && res.result == true){
              pageSelf.$message.success('合同终止申请发起成功！');
              pageSelf.$router.back()
            }else{
              pageSelf.$message.warning(res.message);
            }
          })
        }
      }
      console.log('提交审核 合同中止发起提交====>',btnItem,formRes);

      btnAction[btnItem.key] && btnAction[btnItem.key]()
    })
  },
}


const btnEvent = (pageSelf,btnItem)=>{
  console.log('按钮事件=====》',btnItem,pageSelf.$refs);
  btnEventList[pageSelf.PageParam.flowCode] && btnEventList[pageSelf.PageParam.flowCode](pageSelf,btnItem)
}

export default btnEvent
